https://www.cyberforum.ru/geometry/thread606533.html
https://www.cyberforum.ru/cpp-beginners/thread327677.html
https://translated.turbopages.org/proxy_u/en-ru.ru.463535a3-650c13ac-384e70bf-74722d776562/https/stackoverflow.com/questions/4103405/what-is-the-algorithm-for-finding-the-center-of-a-circle-from-three-points
https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C#.D0.9F.D0.BE.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D1.86.D0.B5.D0.BD.D1.82.D1.80.D0.B0_.D0.BE.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.BD.D0.BE.D0.B9_.D0.BE.D0.BA.D1.80.D1.83.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8
--------------------------------------------------------------------------------------------------------------------------------
Центр:

Это неправильно
x0 := -(1/2)*(y1*(x2^2-x3^2+y2^2-y3^2)+y2*(-x1^2+x3^2-y1^2+y3^2)+y3*(x1^2-x2^2+y1^2-y2^2))/(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))
y0 := (1/2)*(x1*(x2^2-x3^2+y2^2-y3^2)+x2*(-x1^2+x3^2-y1^2+y3^2)+x3*(x1^2-x2^2+y1^2-y2^2))/(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))

Это правильно
x0 := (y1*(x2^2-x3^2+y2^2-y3^2)+y2*(-1*x1^2+x3^2-y1^2+y3^2)+y3*(x1^2-x2^2+y1^2-y2^2))/-2/(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))
y0 := (x1*(x2^2-x3^2+y2^2-y3^2)+x2*(-1*x1^2+x3^2-y1^2+y3^2)+x3*(x1^2-x2^2+y1^2-y2^2))/2/(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))

#21=[#91*[#82*#82-#83*#83+#92*#92-#93*#93]+#92*[-1*#81*#81+#83*#83-#91*#91+#93*#93]+#93*[#81*#81-#82*#82+#91*#91-#92*#92]]/-2/[#81*[#92-#93]+#82*[#93-#91]+#83*[#91-#92]]
#31=[#81*[#82*#82-#83*#83+#92*#92-#93*#93]+#82*[-1*#81*#81+#83*#83-#91*#91+#93*#93]+#83*[#81*#81-#82*#82+#91*#91-#92*#92]]/2/[#81*[#92-#93]+#82*[#93-#91]+#83*[#91-#92]]

G := 2 * ((x2 - x1) * (y3 - y2) - (y2 - y1) * (x3 - x2))
IF G == 0 THEN Exit

Точки можно подставлять в эту формулу, абсолютно в любой последовательности.
Чем больше расстояние между точками, тем больше точность.
^2 - возведение в квадрат. То есть, умножение числа на само себя.
--------------------------------------------------------------------------------------------------------------------------------
Радиус:

r := sqrt((X1 - X0)^2 + (Y1 - Y0)^2)

r  =  КОРЕНЬ((X_1-X_0)^2+(Y_1-Y_0)^2)

^2 - возведение в квадрат. То есть, умножение числа на само себя.
---------------------------------------------------------------------------------------------------------------------------------

A := x2 - x1;
B := y2 - y1;
C := x3 - x1;
D := y3 - y1;
E := A * (x1 + x2) + B * (y1 + y2);
F := C * (x1 + x3) + D * (y1 + y3);
G := 2 * (A * (y3 - y2) - B * (x3 - x2));
if G = 0 then Exit;
Cx := (D * E - B * F) / G;
Cy := (A * F - C * E) / G;
---------------------------------------------------------------------------------------------------------------------------------

